GSK_NOTE (OPENGL, g_print ("GL max texture size: %d\n", driver->max_texture_size));
}
- glGetIntegerv (GL_FRAMEBUFFER_BINDING, (GLint *) &(driver->default_fbo.fbo_id));
+ glBindFramebuffer (GL_FRAMEBUFFER, 0);
driver->bound_fbo = &driver->default_fbo;
glActiveTexture (GL_TEXTURE0);
driver->bound_vao = NULL;
driver->bound_fbo = NULL;
+ driver->default_fbo.fbo_id = 0;
+
GSK_NOTE (OPENGL,
g_print ("*** Frame end: textures=%d, vaos=%d\n",
g_hash_table_size (driver->textures),
g_return_val_if_fail (GSK_IS_GL_DRIVER (driver), FALSE);
g_return_val_if_fail (driver->in_frame, FALSE);
+ if (texture_id == 0)
+ {
+ glBindFramebuffer (GL_FRAMEBUFFER, 0);
+ driver->bound_fbo = &driver->default_fbo;
+ goto out;
+ }
+
f = gsk_gl_driver_get_fbo (driver, texture_id);
if (f == NULL)
{
driver->bound_fbo = f;
}
+out:
status = glCheckFramebufferStatus (GL_FRAMEBUFFER);
return status == GL_FRAMEBUFFER_COMPLETE;